package com.daigoudao.web.dao;

import java.util.List;
import java.util.Map;

import com.daigoudao.web.model.AreaModel;
import com.daigoudao.web.model.CanBuyModel;
import com.daigoudao.web.model.CategoryModel;
import com.daigoudao.web.model.FollowModel;
import com.daigoudao.web.model.UserAreaModel;
import com.daigoudao.web.model.UserAttrModel;
import com.daigoudao.web.model.UserCategoryModel;
import com.daigoudao.web.model.UserModel;

public interface IUserDao {
	
	public UserModel getUserByID(int userid);
	
	public void updateUser(UserModel user);
	
	public List<UserAreaModel> getUserArea(int userid);
	
	public List<UserCategoryModel> getUserCagegory(int userid);
	
	public void initUserAttr(int userid) throws Exception;
	
	public void initUser(int userid) throws Exception;
	
	public void updateUserAttr(UserAttrModel userAttr) throws Exception;
	
	public UserAttrModel getUserAttrByID(int userid) throws Exception;
	
	public List<UserModel> getHotBrokerList(UserModel userModel) throws Exception;
	
	public int saveFollower(FollowModel follow) throws Exception;
	
	public int updateFollowCount(FollowModel follow) throws Exception;
	
	public int delFollower(FollowModel follow) throws Exception;
	
	public int delFollowerByID(int followId) throws Exception;
	
	public int getBrokerCount(UserModel user) throws Exception;
	
	public List<UserModel> getBrokerList(UserModel user) throws Exception;
	
	public List<UserModel> getFollowList(UserModel user) throws Exception;
	
	public List<AreaModel> getAreaListByUserId(int userId) throws Exception;
	
	public List<CanBuyModel> getCanBuyListByUserId(UserModel userModel) throws Exception;
	
	public List<CategoryModel> getCategoryListByUserId(int userId) throws Exception;
	
	public String getUserPasswd(int userId);
	
	public int updateUserPasswd(UserModel user);
	
	public int saveUserLogin(UserModel userModel) throws Exception;
	
	public int saveUser(String email) throws Exception;
	
	public int getSameEmail(String email) throws Exception;
	
	public UserModel getUserLogin(UserModel userModel) throws Exception;
	
	public int updateUserLogin(UserModel userModel) throws Exception;
	
	public int getFollowCountByUserId(FollowModel follow) throws Exception;
	
	public int getBuyGoodsTotal(int userId) throws Exception;
	
	public int updateUserByEmail(UserModel userModel) throws Exception;
	
	public UserModel getCheckUserPwd(UserModel userModel) throws Exception;
	
	public int updatePassword(UserModel userModel) throws Exception;
	
	public List<UserModel> getBrokerLista() throws Exception;
	
	public int getTransCount(int userId) throws Exception;
	
	public int getEvaluateCount(Map map) throws Exception;
	
	public int getAvgSendTime(int userId) throws Exception;
	
	public int updateBrokerScore(UserModel userModel) throws Exception;
	
	public List<UserAreaModel> getUserAreaList(int userid);
	
	public void deleteUserAreaList(int userid);
	
	public void insertUserAreaList(List<UserAreaModel> list);
	
	
	public List<UserCategoryModel> getUserCategoryList(int userid);
	
	public void deleteUserCategoryList(int userid);
	
	public void insertUserCategoryList(List<UserCategoryModel> list);
	
	
	
	
}
